`ifndef _ral_reg_PPU_REG_ppu_reg_TEST_ALARM_rtl_
`define _ral_reg_PPU_REG_ppu_reg_TEST_ALARM_rtl_

`include "vmm_ral_ro_field_rtl.sv"
`include "vmm_ral_notifier_rtl.sv"


module ral_reg_PPU_REG_ppu_reg_TEST_ALARM_rtl(input  clk,
                              input  rstn,
                              input  [31:0] hst_wdat,
                              output [31:0] hst_rdat,
                              input  [3:0] hst_sel,
                              input  hst_wen,
                              input  [0:0] data_err_a_in,
                              output data_err_a_rd,
                              input  [0:0] addr_err_a_in,
                              output addr_err_a_rd,
                              input  [0:0] data_err_b_in,
                              output data_err_b_rd,
                              input  [0:0] addr_err_b_in,
                              output addr_err_b_rd);

wire [0:0] data_err_a_out;
vmm_ral_ro_field_rtl #(1)
   data_err_a(clk, rstn, data_err_a_in, data_err_a_out);

wire [0:0] addr_err_a_out;
vmm_ral_ro_field_rtl #(1)
   addr_err_a(clk, rstn, addr_err_a_in, addr_err_a_out);

wire [0:0] data_err_b_out;
vmm_ral_ro_field_rtl #(1)
   data_err_b(clk, rstn, data_err_b_in, data_err_b_out);

wire [0:0] addr_err_b_out;
vmm_ral_ro_field_rtl #(1)
   addr_err_b(clk, rstn, addr_err_b_in, addr_err_b_out);


vmm_ral_notifier_rtl _n_data_err_a(clk, rstn, hst_sel[0], hst_wen, data_err_a_rd, /*open*/);
vmm_ral_notifier_rtl _n_addr_err_a(clk, rstn, hst_sel[0], hst_wen, addr_err_a_rd, /*open*/);
vmm_ral_notifier_rtl _n_data_err_b(clk, rstn, hst_sel[0], hst_wen, data_err_b_rd, /*open*/);
vmm_ral_notifier_rtl _n_addr_err_b(clk, rstn, hst_sel[0], hst_wen, addr_err_b_rd, /*open*/);


assign hst_rdat[31:0] = { addr_err_b_out, data_err_b_out, addr_err_a_out, data_err_a_out };


endmodule

`endif
